﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ContaTelefone.Data;
using ContaTelefone.Entities;

namespace ContaTelefone.Process
{
    public class ParametroProcess
    {
        PARAMETRORepository objRepository = new PARAMETRORepository();

        public void Incluir(ParametroEntities objEtt)
        {
            PARAMETRO obj = new PARAMETRO();
            obj.COD = objEtt.COD;
            obj.DESCR = objEtt.DESCR;
            obj.VALOR = objEtt.VALOR;
            
            objRepository.Add(obj);
        }

        public void Alterar(ParametroEntities objEtt)
        {
            PARAMETRO obj = objRepository.getPARAMETRO(objEtt.ID);
            if (obj != null)
            {
                obj.ID = objEtt.ID;
                obj.COD = objEtt.COD;
                obj.DESCR = objEtt.DESCR;
                obj.VALOR = objEtt.VALOR;

                objRepository.Update();
            }
        }

        public void Delete(ParametroEntities objEtt)
        {
            PARAMETRO obj = objRepository.getPARAMETRO(objEtt.ID);
            if (obj != null)
                objRepository.Delete(obj);
        }

        public ParametroEntities getobj(int ID)
        {
            PARAMETRO obj = objRepository.getPARAMETRO(ID);
            if (obj != null)
            {
                ParametroEntities objEtt = new ParametroEntities();
                objEtt.ID = obj.ID;
                objEtt.COD = obj.COD;
                objEtt.DESCR = obj.DESCR;
                objEtt.VALOR = obj.VALOR;

                return objEtt;
            }
            else
                return null;
        }

        public List<ParametroEntities> Listar()
        {
            List<ParametroEntities> lista = new List<ParametroEntities>();

            foreach (PARAMETRO obj in objRepository.GetPARAMETROs())
            {
                lista.Add(getobj(obj.ID));
            }

            return lista;
        }
    }
}
